const http = require('http')
const path = require('path')
const fs = require('fs')
const mime = require('mime')//根据文件后缀，返回对应的Content-Type
//大体思路就是前端访问一个路径，后端根据路径找到对应的文件，然后将文件内容返回给前端
const server = http.createServer((req, res) => {
    //__dirname
    let filePath=path.resolve(__dirname,path.join('www',req.url))//xxx/http/www/index.html
    if(fs.existsSync(filePath)){//判断该路径是否有对应的文件
        const stats=fs.statSync(filePath)//查看文件详情
        const isDir=stats.isDirectory()//判断是否是目录
        if(isDir){//如果访问的是文件夹的路径，就是没有url，则在后面拼index.html
            filePath=path.resolve(filePath,'index.html')
        }
        //读取文件资源
        const content=fs.readFileSync(filePath)
        const {ext}=path.parse(filePath)//获取文件的后缀名
        // if(ext==='.jpg'){//如果是图片
        //     res.writeHead(200,{'Content-Type':'image/jpeg'})
        // }else{
        //     res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'})
        // }
        res.writeHead(200,{'Content-Type':mime.getType(ext)})
        return res.end(content)
    }else{//如果没有对应的文件
        res.writeHead(404,{'Content-Type':'text/html'})
        res.end('<h1>404 not found</h1>')
    }
})
server.listen(8080, () => {
    console.log('server is running at http://localhost:8080')
})
